1. Field of the Invention
The present invention relates to a technique of generating a driving waveform to activate a driving element.
2. Description of the Related Art
Ink jet printers are a known output device of the computer. The ink jet printer causes preset quantities of inks to be ejected from nozzles provided on a print head and create dots on a printing medium, thus printing a multi-color, multi-tone image. One recently proposed technique changes the quantity of ink ejection among a plurality of different levels, in order to attain the smooth tone expression.
Ink ejection is carried out in response to output of a predetermined voltage signal to driving elements provided on the print head, that is, a driving waveform. In the case where piezoelectric elements are applied for the driving elements, the driving waveform controls operations of the piezoelectric elements and regulates the quantity of ink ejection.
A programmable generation technique, which has been proposed as one method of generating the driving waveform, presets voltage variation data and sums up the values of the voltage variation data at predetermined time intervals to determine a voltage signal. This technique advantageously reduces the amount of data stored for generating the driving waveform and enables diverse driving waveforms to be generated by the relatively simple signal processing.
FIG. 14 is a block diagram illustrating the internal structure of a driving waveform generation circuit 100 that implements the programmable generation technique. FIG. 15 shows a process of generating a driving waveform by the programmable generation technique. The driving waveform generation circuit 100 includes a memory 102, an accumulator 104, and a digital-to-analog converter 106. Three gradient data, that is, voltage steps ΔV1, ΔV2, and ΔV3 each applied to a period t of a clock signal CLK, are stored in the memory 102. The gradient data ΔV1, ΔV2, and ΔV3 read from the memory 102 are successively summed up by the accumulator 104 in synchronism with the clock signal CLK. The digital-to-analog converter 106 carries out digital-to-analog (D-A) conversion with regard to specific upper bits in the result of summation, thus generating a driving waveform COM. For example, when the result of summation is given as 18-bit data, the upper 10 bits are subjected to the D-A conversion.
In the programmable generation technique, when the result of summation with regard to one period of the waveform is equal to zero, the voltage at the start end of the driving waveform is identical with the voltage at the terminal end of the driving waveform. In the actual conditions, however, there is an error in each period. For example, the gradient data ΔV1 is defined as ‘ΔV1=δ⅛’ to attain a peak voltage δ1 of the driving waveform by summing up ΔV1 eight times. If the division includes a rounding error, the value of the peak voltage δ1 also includes an error.
When the cumulative error exceeds a range of lower bits that are omitted in the course of the D-A conversion, the resulting driving waveform is different from an originally expected driving waveform. FIGS. 16A and 16B show effects of calculation errors on the driving waveform. The FIG. 16A represents an ideal driving waveform with no calculation error. The FIG. 16B represents a driving waveform with a calculation error e1 in each period T. Accumulation of the errors e1 gradually shifts the initial potential of the driving waveform, so that the driving waveform after several periods T is significantly different from the ideal driving waveform.
Further accumulation of the errors e1 may lead to an extreme change of the driving waveform due to an overflow or an underflow of the accumulator 104. FIGS. 17A through 17C show effects of the overflow and the underflow of the accumulator 104. In the case where there is no calculation error, the calculated driving waveform is kept in a range between an upper limit UL and a lower limit LL of the accumulator 104 as shown in FIG. 17A. In the case of the overflow where the cumulative error causes the calculated driving waveform to be greater than the upper limit UL, however, the output of the accumulator 104 jumps to a value close to the lower limit LL as shown in FIG. 17B. In the case of the underflow where the cumulative error causes the calculated driving waveform to be lower than the lower limit LL, the output of the accumulator 104 jumps to a value close to the upper limit UL as shown in FIG. 17C. The overflow or the underflow leads to an abrupt change of the driving waveform and undesirably makes the operation of the driving element unstable.